1. Field of the Invention
This invention relates to systems and methods for providing a fairness scheme for managing and controlling the data flow of a network, which includes both a pause capable port and a pause incapable port.
2. Description of the Related Art
The media access control (MAC) protocol, as described in the IEEE 802.3 standard, provides the rules that define and determine how each device connected to the network accesses the cable to transmit data along various media, such as coaxial cable, twisted-pair cable, and fiber-optic medium. The MAC protocol may employ a variety of flow control techniques, such as the watermark (threshold) technique, to control data flow and mitigate the occurrence of congestion within a network device. For instance, during a data transmission session, if a destination device is not capable of processing the incoming data packets at the rate at which the packets are received, the destination device may temporarily store the incoming data packets in a buffer until the data packets can be processed. Therefore, the buffers of the destination device may begin to fill-up and become saturated with data packets. Once the buffer becomes saturated, the input and/or output ports of the destination device may become congested and start dropping data packets. Thus, a source device can overflow the incoming ports of the destination network device with too many data packets and still continue to send additional packets if the source device is unaware of the overflow (i.e., congestion) condition of the destination device. Packets dropped under such conditions may need to be retransmitted by the source device. However, if the destination device can send a pause signal to notify the source device about the overflow conditions and if the source device is device which is capable of slowing down or stopping its transmission in response to the pause signal until the destination network device can relieve the congestion; the number of data packets that the source network needs to retransmit may be reduced. Such a source device may be referred to as a pause capable device. However, when the network includes at least one network device, which is not capable of supporting or honoring a pause frame (i.e., a pause incapable device) the network may become locked into a communication session where either the pause incapable or pause capable device may be treated unfairly.
For example, in FIG. 1, network device 105 may be simultaneously engaged in a communication session with network device 115, which may be a pause incapable device, and network device 110, which may be a pause capable device. This scenario may create a two-to-one reception-to-transmission ratio where network device 105 receives twice as much incoming data as network device 105 is currently capable of transmitting out. Thus, the flow of the data packets must be monitored and controlled by the MAC (not shown) to prevention congestion from developing within network device 105. In one example, the data packets stored within the buffer (not shown) of network device 105 may reach a preset threshold. Consequently, network device 105 may begin to drop packets transmitted from the pause incapable device 115 and transmit a pause frame to the pause capable device 110. The network may 100 become locked into this communication session where network device 105 will only communicate with pause capable device 110, while network device 105 continues to drop the data packets received from pause incapable device 115.
Another unfair scenario may develop where pause capable network device 110 is treated unfairly. In such a scenario, the data packets stored within the buffers of network device 105 may reach a pause threshold triggering network device 105 to send a pause frame to pause capable device 110. However, network device 105 may not send out a pause frame to pause incapable device 115 because network device 105 knows that pause incapable device 115 will not honor the pause frame. Therefore, pause incapable device 115 will continue to send data packets to network device 105 during the congestion. A locked-communication session may develop where network device 105 will only communicate with pause incapable device 115 while pause capable device 110 remains in a pause state until the session between network devices 105 and 115 ends. Both of these scenarios are undesirable because they allow network 100 to become locked in an unfair communication session which provides preferential treatment to either the pause incapable or pause capable network device at the expense of the other device. Accordingly, new and improved systems and methods providing fair and impartial communication sessions for a network which includes pause capable and pause incapable devices are needed.